[INFO] fetching crate pretty-good 0.2.2...
[INFO] testing pretty-good-0.2.2 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] extracting crate pretty-good 0.2.2 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate pretty-good 0.2.2
[INFO] finished tweaking crates.io crate pretty-good 0.2.2
[INFO] tweaked toml for crates.io crate pretty-good 0.2.2 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate pretty-good 0.2.2 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 61 packages to latest compatible versions
[INFO] [stderr]       Adding bzip2 v0.3.3 (available: v0.6.1)
[INFO] [stderr]       Adding digest v0.7.6 (available: v0.11.2)
[INFO] [stderr]       Adding md-5 v0.7.0 (available: v0.11.0)
[INFO] [stderr]       Adding nom v3.2.1 (available: v8.0.0)
[INFO] [stderr]       Adding num v0.1.43 (available: v0.4.3)
[INFO] [stderr]       Adding ripemd160 v0.7.0 (available: v0.10.0)
[INFO] [stderr]       Adding sha-1 v0.7.0 (available: v0.10.1)
[INFO] [stderr]       Adding sha2 v0.7.1 (available: v0.11.0)
[INFO] [stderr]       Adding yasna v0.1.3 (available: v0.6.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d2c4b045c2c200a9177ceacc7d72037b0db9e39d3a6ba2fb36c3a3ddd889e765
[INFO] running `Command { std: "docker" "start" "-a" "d2c4b045c2c200a9177ceacc7d72037b0db9e39d3a6ba2fb36c3a3ddd889e765", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d2c4b045c2c200a9177ceacc7d72037b0db9e39d3a6ba2fb36c3a3ddd889e765", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d2c4b045c2c200a9177ceacc7d72037b0db9e39d3a6ba2fb36c3a3ddd889e765", kill_on_drop: false }`
[INFO] [stdout] d2c4b045c2c200a9177ceacc7d72037b0db9e39d3a6ba2fb36c3a3ddd889e765
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 578e7140bf7a362f57b7193aed58c357fed1ca92eae29271407373193fa6e1ad
[INFO] running `Command { std: "docker" "start" "-a" "578e7140bf7a362f57b7193aed58c357fed1ca92eae29271407373193fa6e1ad", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling num-bigint v0.1.45
[INFO] [stderr]    Compiling rustc-serialize v0.3.25
[INFO] [stderr]    Compiling byte-tools v0.2.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling num-rational v0.1.43
[INFO] [stderr]    Compiling num-complex v0.1.44
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling bzip2-sys v0.1.13+1.0.8
[INFO] [stderr]    Compiling generic-array v0.9.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling bit-vec v0.4.4
[INFO] [stderr]    Compiling block-buffer v0.3.3
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling digest v0.7.6
[INFO] [stderr]    Compiling sha-1 v0.7.0
[INFO] [stderr]    Compiling ripemd160 v0.7.0
[INFO] [stderr]    Compiling md-5 v0.7.0
[INFO] [stderr]    Compiling sha2 v0.7.1
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling memchr v1.0.2
[INFO] [stderr]    Compiling nom v3.2.1
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling num v0.1.43
[INFO] [stderr]    Compiling yasna v0.1.3
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling failure v0.1.8
[INFO] [stderr]    Compiling bzip2 v0.3.3
[INFO] [stderr]    Compiling pretty-good v0.2.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compression.rs:90:31
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let mut deflater: Box<Read> = match self {
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let mut deflater: Box<dyn Read> = match self {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/compression.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Fail` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CompressionError`
[INFO] [stdout] 116 | pub enum CompressionError {
[INFO] [stdout]     |          ---------------- `CompressionError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/compression.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Display` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_CompressionError`
[INFO] [stdout] 116 | pub enum CompressionError {
[INFO] [stdout]     |          ---------------- `CompressionError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/key.rs:450:17
[INFO] [stdout]     |
[INFO] [stdout] 450 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Fail` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_KeyError`
[INFO] [stdout] 451 | pub enum KeyError {
[INFO] [stdout]     |          -------- `KeyError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/key.rs:450:17
[INFO] [stdout]     |
[INFO] [stdout] 450 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Display` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_KeyError`
[INFO] [stdout] 451 | pub enum KeyError {
[INFO] [stdout]     |          -------- `KeyError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/literal.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Fail` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_LiteralError`
[INFO] [stdout] 119 | pub enum LiteralError {
[INFO] [stdout]     |          ------------ `LiteralError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/literal.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Display` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_LiteralError`
[INFO] [stdout] 119 | pub enum LiteralError {
[INFO] [stdout]     |          ------------ `LiteralError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/marker.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_MarkerError`
[INFO] [stdout] 31 | pub enum MarkerError {
[INFO] [stdout]    |          ----------- `MarkerError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/marker.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_MarkerError`
[INFO] [stdout] 31 | pub enum MarkerError {
[INFO] [stdout]    |          ----------- `MarkerError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/packet.rs:83:28
[INFO] [stdout]    |
[INFO] [stdout] 82 | / named!(
[INFO] [stdout] 83 | |     pgp_packet_header<(u8, &[u8])>,
[INFO] [stdout]    | |                            ^^^^^ the same lifetime is elided here
[INFO] [stdout] 84 | |     bits!(preceded!(
[INFO] [stdout] 85 | |         tag_bits!(u8, 1, 0b1),
[INFO] [stdout] ...  |
[INFO] [stdout] 90 | |     ))
[INFO] [stdout] 91 | | );
[INFO] [stdout]    | | -
[INFO] [stdout]    | | |
[INFO] [stdout]    | |_the lifetime is named here
[INFO] [stdout]    |   the same lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pgp_packet_header<(u8, &'a [u8])>,
[INFO] [stdout]    |                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/packet.rs:246:17
[INFO] [stdout]     |
[INFO] [stdout] 246 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Fail` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_PacketError`
[INFO] [stdout] 247 | pub enum PacketError {
[INFO] [stdout]     |          ----------- `PacketError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/packet.rs:246:17
[INFO] [stdout]     |
[INFO] [stdout] 246 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Display` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_PacketError`
[INFO] [stdout] 247 | pub enum PacketError {
[INFO] [stdout]     |          ----------- `PacketError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/s2k.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_S2kError`
[INFO] [stdout] 87 | pub enum S2kError {
[INFO] [stdout]    |          -------- `S2kError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/s2k.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_S2kError`
[INFO] [stdout] 87 | pub enum S2kError {
[INFO] [stdout]    |          -------- `S2kError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/signature.rs:705:17
[INFO] [stdout]     |
[INFO] [stdout] 705 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Fail` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SignatureError`
[INFO] [stdout] 706 | pub enum SignatureError {
[INFO] [stdout]     |          -------------- `SignatureError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/signature.rs:705:17
[INFO] [stdout]     |
[INFO] [stdout] 705 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Display` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SignatureError`
[INFO] [stdout] 706 | pub enum SignatureError {
[INFO] [stdout]     |          -------------- `SignatureError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/types.rs:219:24
[INFO] [stdout]     |
[INFO] [stdout] 219 | #[derive(Clone, Debug, Fail)]
[INFO] [stdout]     |                        ^---
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Fail` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_AlgorithmError`
[INFO] [stdout] 220 | pub enum AlgorithmError {
[INFO] [stdout]     |          -------------- `AlgorithmError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/types.rs:219:24
[INFO] [stdout]     |
[INFO] [stdout] 219 | #[derive(Clone, Debug, Fail)]
[INFO] [stdout]     |                        ^---
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Display` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_AlgorithmError`
[INFO] [stdout] 220 | pub enum AlgorithmError {
[INFO] [stdout]     |          -------------- `AlgorithmError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/userid.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_UserIdError`
[INFO] [stdout] 19 | pub enum UserIdError {
[INFO] [stdout]    |          ----------- `UserIdError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/userid.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_UserIdError`
[INFO] [stdout] 19 | pub enum UserIdError {
[INFO] [stdout]    |          ----------- `UserIdError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.54s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v3.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "578e7140bf7a362f57b7193aed58c357fed1ca92eae29271407373193fa6e1ad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "578e7140bf7a362f57b7193aed58c357fed1ca92eae29271407373193fa6e1ad", kill_on_drop: false }`
[INFO] [stdout] 578e7140bf7a362f57b7193aed58c357fed1ca92eae29271407373193fa6e1ad
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5680ac3dba4bf2c22942b680d8d37dced53b8ce5f9adb8226f5a251c03663dca
[INFO] running `Command { std: "docker" "start" "-a" "5680ac3dba4bf2c22942b680d8d37dced53b8ce5f9adb8226f5a251c03663dca", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compression.rs:90:31
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let mut deflater: Box<Read> = match self {
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let mut deflater: Box<dyn Read> = match self {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/compression.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Fail` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CompressionError`
[INFO] [stdout] 116 | pub enum CompressionError {
[INFO] [stdout]     |          ---------------- `CompressionError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/compression.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Display` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_CompressionError`
[INFO] [stdout] 116 | pub enum CompressionError {
[INFO] [stdout]     |          ---------------- `CompressionError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/key.rs:450:17
[INFO] [stdout]     |
[INFO] [stdout] 450 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Fail` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_KeyError`
[INFO] [stdout] 451 | pub enum KeyError {
[INFO] [stdout]     |          -------- `KeyError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/key.rs:450:17
[INFO] [stdout]     |
[INFO] [stdout] 450 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Display` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_KeyError`
[INFO] [stdout] 451 | pub enum KeyError {
[INFO] [stdout]     |          -------- `KeyError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/literal.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Fail` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_LiteralError`
[INFO] [stdout] 119 | pub enum LiteralError {
[INFO] [stdout]     |          ------------ `LiteralError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/literal.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Display` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_LiteralError`
[INFO] [stdout] 119 | pub enum LiteralError {
[INFO] [stdout]     |          ------------ `LiteralError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/marker.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_MarkerError`
[INFO] [stdout] 31 | pub enum MarkerError {
[INFO] [stdout]    |          ----------- `MarkerError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/marker.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_MarkerError`
[INFO] [stdout] 31 | pub enum MarkerError {
[INFO] [stdout]    |          ----------- `MarkerError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/packet.rs:83:28
[INFO] [stdout]    |
[INFO] [stdout] 82 | / named!(
[INFO] [stdout] 83 | |     pgp_packet_header<(u8, &[u8])>,
[INFO] [stdout]    | |                            ^^^^^ the same lifetime is elided here
[INFO] [stdout] 84 | |     bits!(preceded!(
[INFO] [stdout] 85 | |         tag_bits!(u8, 1, 0b1),
[INFO] [stdout] ...  |
[INFO] [stdout] 90 | |     ))
[INFO] [stdout] 91 | | );
[INFO] [stdout]    | | -
[INFO] [stdout]    | | |
[INFO] [stdout]    | |_the lifetime is named here
[INFO] [stdout]    |   the same lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pgp_packet_header<(u8, &'a [u8])>,
[INFO] [stdout]    |                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/packet.rs:246:17
[INFO] [stdout]     |
[INFO] [stdout] 246 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Fail` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_PacketError`
[INFO] [stdout] 247 | pub enum PacketError {
[INFO] [stdout]     |          ----------- `PacketError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/packet.rs:246:17
[INFO] [stdout]     |
[INFO] [stdout] 246 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Display` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_PacketError`
[INFO] [stdout] 247 | pub enum PacketError {
[INFO] [stdout]     |          ----------- `PacketError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/s2k.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_S2kError`
[INFO] [stdout] 87 | pub enum S2kError {
[INFO] [stdout]    |          -------- `S2kError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/s2k.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_S2kError`
[INFO] [stdout] 87 | pub enum S2kError {
[INFO] [stdout]    |          -------- `S2kError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/signature.rs:705:17
[INFO] [stdout]     |
[INFO] [stdout] 705 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Fail` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SignatureError`
[INFO] [stdout] 706 | pub enum SignatureError {
[INFO] [stdout]     |          -------------- `SignatureError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/signature.rs:705:17
[INFO] [stdout]     |
[INFO] [stdout] 705 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Display` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SignatureError`
[INFO] [stdout] 706 | pub enum SignatureError {
[INFO] [stdout]     |          -------------- `SignatureError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/types.rs:219:24
[INFO] [stdout]     |
[INFO] [stdout] 219 | #[derive(Clone, Debug, Fail)]
[INFO] [stdout]     |                        ^---
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Fail` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_AlgorithmError`
[INFO] [stdout] 220 | pub enum AlgorithmError {
[INFO] [stdout]     |          -------------- `AlgorithmError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/types.rs:219:24
[INFO] [stdout]     |
[INFO] [stdout] 219 | #[derive(Clone, Debug, Fail)]
[INFO] [stdout]     |                        ^---
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Display` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_AlgorithmError`
[INFO] [stdout] 220 | pub enum AlgorithmError {
[INFO] [stdout]     |          -------------- `AlgorithmError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/userid.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_UserIdError`
[INFO] [stdout] 19 | pub enum UserIdError {
[INFO] [stdout]    |          ----------- `UserIdError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/userid.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_UserIdError`
[INFO] [stdout] 19 | pub enum UserIdError {
[INFO] [stdout]    |          ----------- `UserIdError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling pretty-good v0.2.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compression.rs:90:31
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let mut deflater: Box<Read> = match self {
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let mut deflater: Box<dyn Read> = match self {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/compression.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Fail` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CompressionError`
[INFO] [stdout] 116 | pub enum CompressionError {
[INFO] [stdout]     |          ---------------- `CompressionError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/compression.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Display` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_CompressionError`
[INFO] [stdout] 116 | pub enum CompressionError {
[INFO] [stdout]     |          ---------------- `CompressionError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/key.rs:450:17
[INFO] [stdout]     |
[INFO] [stdout] 450 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Fail` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_KeyError`
[INFO] [stdout] 451 | pub enum KeyError {
[INFO] [stdout]     |          -------- `KeyError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/key.rs:450:17
[INFO] [stdout]     |
[INFO] [stdout] 450 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Display` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_KeyError`
[INFO] [stdout] 451 | pub enum KeyError {
[INFO] [stdout]     |          -------- `KeyError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/literal.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Fail` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_LiteralError`
[INFO] [stdout] 119 | pub enum LiteralError {
[INFO] [stdout]     |          ------------ `LiteralError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/literal.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Display` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_LiteralError`
[INFO] [stdout] 119 | pub enum LiteralError {
[INFO] [stdout]     |          ------------ `LiteralError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/marker.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_MarkerError`
[INFO] [stdout] 31 | pub enum MarkerError {
[INFO] [stdout]    |          ----------- `MarkerError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/marker.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_MarkerError`
[INFO] [stdout] 31 | pub enum MarkerError {
[INFO] [stdout]    |          ----------- `MarkerError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/packet.rs:83:28
[INFO] [stdout]    |
[INFO] [stdout] 82 | / named!(
[INFO] [stdout] 83 | |     pgp_packet_header<(u8, &[u8])>,
[INFO] [stdout]    | |                            ^^^^^ the same lifetime is elided here
[INFO] [stdout] 84 | |     bits!(preceded!(
[INFO] [stdout] 85 | |         tag_bits!(u8, 1, 0b1),
[INFO] [stdout] ...  |
[INFO] [stdout] 90 | |     ))
[INFO] [stdout] 91 | | );
[INFO] [stdout]    | | -
[INFO] [stdout]    | | |
[INFO] [stdout]    | |_the lifetime is named here
[INFO] [stdout]    |   the same lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pgp_packet_header<(u8, &'a [u8])>,
[INFO] [stdout]    |                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/packet.rs:246:17
[INFO] [stdout]     |
[INFO] [stdout] 246 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Fail` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_PacketError`
[INFO] [stdout] 247 | pub enum PacketError {
[INFO] [stdout]     |          ----------- `PacketError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/packet.rs:246:17
[INFO] [stdout]     |
[INFO] [stdout] 246 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Display` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_PacketError`
[INFO] [stdout] 247 | pub enum PacketError {
[INFO] [stdout]     |          ----------- `PacketError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/s2k.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_S2kError`
[INFO] [stdout] 87 | pub enum S2kError {
[INFO] [stdout]    |          -------- `S2kError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/s2k.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_S2kError`
[INFO] [stdout] 87 | pub enum S2kError {
[INFO] [stdout]    |          -------- `S2kError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/signature.rs:705:17
[INFO] [stdout]     |
[INFO] [stdout] 705 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Fail` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SignatureError`
[INFO] [stdout] 706 | pub enum SignatureError {
[INFO] [stdout]     |          -------------- `SignatureError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/signature.rs:705:17
[INFO] [stdout]     |
[INFO] [stdout] 705 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Display` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SignatureError`
[INFO] [stdout] 706 | pub enum SignatureError {
[INFO] [stdout]     |          -------------- `SignatureError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/types.rs:219:24
[INFO] [stdout]     |
[INFO] [stdout] 219 | #[derive(Clone, Debug, Fail)]
[INFO] [stdout]     |                        ^---
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Fail` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_AlgorithmError`
[INFO] [stdout] 220 | pub enum AlgorithmError {
[INFO] [stdout]     |          -------------- `AlgorithmError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/types.rs:219:24
[INFO] [stdout]     |
[INFO] [stdout] 219 | #[derive(Clone, Debug, Fail)]
[INFO] [stdout]     |                        ^---
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Display` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_AlgorithmError`
[INFO] [stdout] 220 | pub enum AlgorithmError {
[INFO] [stdout]     |          -------------- `AlgorithmError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/userid.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_UserIdError`
[INFO] [stdout] 19 | pub enum UserIdError {
[INFO] [stdout]    |          ----------- `UserIdError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/userid.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_UserIdError`
[INFO] [stdout] 19 | pub enum UserIdError {
[INFO] [stdout]    |          ----------- `UserIdError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.70s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v3.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "5680ac3dba4bf2c22942b680d8d37dced53b8ce5f9adb8226f5a251c03663dca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5680ac3dba4bf2c22942b680d8d37dced53b8ce5f9adb8226f5a251c03663dca", kill_on_drop: false }`
[INFO] [stdout] 5680ac3dba4bf2c22942b680d8d37dced53b8ce5f9adb8226f5a251c03663dca
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 3a9555b7926ad3d83f84c7ab774a64c2611e85ed97596cd9003ecb3e07146147
[INFO] running `Command { std: "docker" "start" "-a" "3a9555b7926ad3d83f84c7ab774a64c2611e85ed97596cd9003ecb3e07146147", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/compression.rs:90:31
[INFO] [stderr]    |
[INFO] [stderr] 90 |         let mut deflater: Box<Read> = match self {
[INFO] [stderr]    |                               ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 90 |         let mut deflater: Box<dyn Read> = match self {
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/compression.rs:115:17
[INFO] [stderr]     |
[INFO] [stderr] 115 | #[derive(Debug, Fail)]
[INFO] [stderr]     |                 ^---
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 `Fail` is not local
[INFO] [stderr]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CompressionError`
[INFO] [stderr] 116 | pub enum CompressionError {
[INFO] [stderr]     |          ---------------- `CompressionError` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/compression.rs:115:17
[INFO] [stderr]     |
[INFO] [stderr] 115 | #[derive(Debug, Fail)]
[INFO] [stderr]     |                 ^---
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 `Display` is not local
[INFO] [stderr]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_CompressionError`
[INFO] [stderr] 116 | pub enum CompressionError {
[INFO] [stderr]     |          ---------------- `CompressionError` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/key.rs:450:17
[INFO] [stderr]     |
[INFO] [stderr] 450 | #[derive(Debug, Fail)]
[INFO] [stderr]     |                 ^---
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 `Fail` is not local
[INFO] [stderr]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_KeyError`
[INFO] [stderr] 451 | pub enum KeyError {
[INFO] [stderr]     |          -------- `KeyError` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/key.rs:450:17
[INFO] [stderr]     |
[INFO] [stderr] 450 | #[derive(Debug, Fail)]
[INFO] [stderr]     |                 ^---
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 `Display` is not local
[INFO] [stderr]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_KeyError`
[INFO] [stderr] 451 | pub enum KeyError {
[INFO] [stderr]     |          -------- `KeyError` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/literal.rs:118:17
[INFO] [stderr]     |
[INFO] [stderr] 118 | #[derive(Debug, Fail)]
[INFO] [stderr]     |                 ^---
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 `Fail` is not local
[INFO] [stderr]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_LiteralError`
[INFO] [stderr] 119 | pub enum LiteralError {
[INFO] [stderr]     |          ------------ `LiteralError` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/literal.rs:118:17
[INFO] [stderr]     |
[INFO] [stderr] 118 | #[derive(Debug, Fail)]
[INFO] [stderr]     |                 ^---
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 `Display` is not local
[INFO] [stderr]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_LiteralError`
[INFO] [stderr] 119 | pub enum LiteralError {
[INFO] [stderr]     |          ------------ `LiteralError` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/marker.rs:30:17
[INFO] [stderr]    |
[INFO] [stderr] 30 | #[derive(Debug, Fail)]
[INFO] [stderr]    |                 ^---
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `Fail` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_MarkerError`
[INFO] [stderr] 31 | pub enum MarkerError {
[INFO] [stderr]    |          ----------- `MarkerError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/marker.rs:30:17
[INFO] [stderr]    |
[INFO] [stderr] 30 | #[derive(Debug, Fail)]
[INFO] [stderr]    |                 ^---
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `Display` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_MarkerError`
[INFO] [stderr] 31 | pub enum MarkerError {
[INFO] [stderr]    |          ----------- `MarkerError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]   --> src/packet.rs:83:28
[INFO] [stderr]    |
[INFO] [stderr] 82 | / named!(
[INFO] [stderr] 83 | |     pgp_packet_header<(u8, &[u8])>,
[INFO] [stderr]    | |                            ^^^^^ the same lifetime is elided here
[INFO] [stderr] 84 | |     bits!(preceded!(
[INFO] [stderr] 85 | |         tag_bits!(u8, 1, 0b1),
[INFO] [stderr] ...  |
[INFO] [stderr] 90 | |     ))
[INFO] [stderr] 91 | | );
[INFO] [stderr]    | | -
[INFO] [stderr]    | | |
[INFO] [stderr]    | |_the lifetime is named here
[INFO] [stderr]    |   the same lifetime is named here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]    |
[INFO] [stderr] 83 |     pgp_packet_header<(u8, &'a [u8])>,
[INFO] [stderr]    |                             ++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/packet.rs:246:17
[INFO] [stderr]     |
[INFO] [stderr] 246 | #[derive(Debug, Fail)]
[INFO] [stderr]     |                 ^---
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 `Fail` is not local
[INFO] [stderr]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_PacketError`
[INFO] [stderr] 247 | pub enum PacketError {
[INFO] [stderr]     |          ----------- `PacketError` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/packet.rs:246:17
[INFO] [stderr]     |
[INFO] [stderr] 246 | #[derive(Debug, Fail)]
[INFO] [stderr]     |                 ^---
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 `Display` is not local
[INFO] [stderr]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_PacketError`
[INFO] [stderr] 247 | pub enum PacketError {
[INFO] [stderr]     |          ----------- `PacketError` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/s2k.rs:86:17
[INFO] [stderr]    |
[INFO] [stderr] 86 | #[derive(Debug, Fail)]
[INFO] [stderr]    |                 ^---
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `Fail` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_S2kError`
[INFO] [stderr] 87 | pub enum S2kError {
[INFO] [stderr]    |          -------- `S2kError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/s2k.rs:86:17
[INFO] [stderr]    |
[INFO] [stderr] 86 | #[derive(Debug, Fail)]
[INFO] [stderr]    |                 ^---
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `Display` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_S2kError`
[INFO] [stderr] 87 | pub enum S2kError {
[INFO] [stderr]    |          -------- `S2kError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/signature.rs:705:17
[INFO] [stderr]     |
[INFO] [stderr] 705 | #[derive(Debug, Fail)]
[INFO] [stderr]     |                 ^---
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 `Fail` is not local
[INFO] [stderr]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SignatureError`
[INFO] [stderr] 706 | pub enum SignatureError {
[INFO] [stderr]     |          -------------- `SignatureError` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/signature.rs:705:17
[INFO] [stderr]     |
[INFO] [stderr] 705 | #[derive(Debug, Fail)]
[INFO] [stderr]     |                 ^---
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 `Display` is not local
[INFO] [stderr]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SignatureError`
[INFO] [stderr] 706 | pub enum SignatureError {
[INFO] [stderr]     |          -------------- `SignatureError` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/types.rs:219:24
[INFO] [stderr]     |
[INFO] [stderr] 219 | #[derive(Clone, Debug, Fail)]
[INFO] [stderr]     |                        ^---
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        `Fail` is not local
[INFO] [stderr]     |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_AlgorithmError`
[INFO] [stderr] 220 | pub enum AlgorithmError {
[INFO] [stderr]     |          -------------- `AlgorithmError` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/types.rs:219:24
[INFO] [stderr]     |
[INFO] [stderr] 219 | #[derive(Clone, Debug, Fail)]
[INFO] [stderr]     |                        ^---
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        `Display` is not local
[INFO] [stderr]     |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_AlgorithmError`
[INFO] [stderr] 220 | pub enum AlgorithmError {
[INFO] [stderr]     |          -------------- `AlgorithmError` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/userid.rs:18:17
[INFO] [stderr]    |
[INFO] [stderr] 18 | #[derive(Debug, Fail)]
[INFO] [stderr]    |                 ^---
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `Fail` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_UserIdError`
[INFO] [stderr] 19 | pub enum UserIdError {
[INFO] [stderr]    |          ----------- `UserIdError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/userid.rs:18:17
[INFO] [stderr]    |
[INFO] [stderr] 18 | #[derive(Debug, Fail)]
[INFO] [stderr]    |                 ^---
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `Display` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_UserIdError`
[INFO] [stderr] 19 | pub enum UserIdError {
[INFO] [stderr]    |          ----------- `UserIdError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `pretty-good` (lib) generated 20 warnings (run `cargo fix --lib -p pretty-good` to apply 2 suggestions)
[INFO] [stderr] warning: `pretty-good` (lib test) generated 20 warnings (20 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v3.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/pretty_good-4da4f067a00e02bc)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests pretty_good
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "3a9555b7926ad3d83f84c7ab774a64c2611e85ed97596cd9003ecb3e07146147", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3a9555b7926ad3d83f84c7ab774a64c2611e85ed97596cd9003ecb3e07146147", kill_on_drop: false }`
[INFO] [stdout] 3a9555b7926ad3d83f84c7ab774a64c2611e85ed97596cd9003ecb3e07146147
